Internal to many computing devices (e.g., networking devices and/or components such as switches, routers, etc.) there is often one or more queues responsible for holding items, such as packets of information, and other types of information that are used in the network computing device's global operation. A queue is used during the routing of information held in a queue until a forwarding resource is available. For example, queues are used to hold information, such as computer executable instructions and/or data, waiting to be processed by a processor. Queues are also used to hold information waiting to be routed to and/or from a network conduit port provided on a computing device.
Typically, these queues use a First-In-First-Out (FIFO) structure for the processing of the information as it is being routed. A FIFO routes each item in the order in which it was received, so the first item in is the first item out. However, such logic structures associated with routing such items often do not provide proper throughput for timely processing of items. In such cases, an item may, for example, be waiting for a long period of time while a number of other items are being routed and thereby, the time period for action on the item may have passed.
Also, in some devices and systems, these expired items are discarded when they exit the queue and, therefore, the expired items sit in the queue in front of items that have not expired and time is expended in determining that an item has expired and discarding of the item. Alternatively, the item is forwarded after it has expired and the destination does not know how to handle it because it no longer has a use for the information or the information is inaccurate at this point in time.